package org.jeecg.modules.zonglzp.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.FinanceModule.entity.MonthStatementEntity;
import org.jeecg.modules.FinanceModule.mapper.ReturnMoneyMapper;
import org.jeecg.modules.zonglzp.mapper.WebMonthStatementMapper;
import org.jeecg.modules.zonglzp.service.WebMonthStatementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;

@Service
public class WebMonthStatementServiceImpl implements WebMonthStatementService {

    @Autowired
    ReturnMoneyMapper returnMoneyMapper;

    @Autowired
    WebMonthStatementMapper mapper;
    @Override
    public IPage<MonthStatementEntity> getMonthStatementList(Page<MonthStatementEntity> page, String token) {
        IPage<MonthStatementEntity> pageList=mapper.getMonthStatementList(page,token);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        if(pageList!=null){
          for(int i=0;i<pageList.getRecords().size();i++){

              if(pageList.getRecords().get(i).getStatus()==0){
                  pageList.getRecords().get(i).setStatusString("未支付");
              }else  if(pageList.getRecords().get(i).getStatus()==1){
                  pageList.getRecords().get(i).setStatusString("已支付");
              }
              pageList.getRecords().get(i).setCreateTimeString(sdf.format(  pageList.getRecords().get(i).getCreateTime()));

          }
        }
        return pageList;
    }

    //负债支付
    @Override
    public int fuzhaizhifu(String billId, String userId, String billMoney, String accountBalance) {

       //用户余额
        BigDecimal yue=new BigDecimal(accountBalance);
        //账单金额
        BigDecimal zhangdanMoney=new BigDecimal(billMoney);
        returnMoneyMapper.updateAccountBalance(Integer.parseInt(userId), String.valueOf( yue.subtract( zhangdanMoney )  ));

        //将一条条月结账单明细都改为已支付
        mapper.updateSmallMonth(billId);

        return mapper.updateBillInfostatus(billId);
    }
}
